iT邦幫忙

2026 iThome 鐵人賽

DAY 17
0
IT Operation

大學生的VirtualBox虛擬機與Ubuntu實戰30天系列 第 17

Day 17|Ubuntu 安裝 Zsh 與 Oh My Zsh

  • 分享至 

  • xImage
  •  

經過前兩天的配置,我們已經可以在本機的VS Code 直接連接 Ubuntu 虛擬機,並且透過 SSH 金鑰與「以非 GUI 啟動」達成了零密碼、低資源的工作模式。

現在打開 VS Code 下方的終端機,映入眼簾的是預設的 Bash
ithome@ithome-VirtualBox:~$
Bash 穩健、相容性極高,但對於日常開發來說,它缺少了直觀的 Git 分支狀態顯示、歷史指令智慧補齊以及即時語法高亮。

今天我們要將虛擬機的 Shell 換成Zsh,並搭配搭配Oh My Zsh 框架與常用外掛,建立結構清晰且易於維護的命令列工作環境。


1.為什麼選擇 Zsh + Oh My Zsh?

  • 智慧補齊:比 Bash 更靈活的路徑與參數補全,按 Tab 會列出清晰的選項清單並支援方向鍵選取。
  • Git 狀態視覺化:進入程式碼倉庫時,提示字元會即時顯示當前分支、未提交變更與同步狀態,避免改錯分支。
  • 豐富的外掛系統:透過 Oh My Zsh 可以整合歷史指令自動推薦與即時語法檢查。

2.安裝 Zsh 並設為預設 Shell
在 VS Code 遠端連線視窗中開啟終端機(快捷鍵 Ctrl + ~),依序執行以下步驟:

#更新套件並安裝 Zsh 與相依套件
sudo apt update
sudo apt install -y zsh git curl
#驗證安裝結果,輸出顯示 zsh 5.x 版本資訊即代表安裝無誤
zsh --version
#將當前使用者的登入 Shell 切換為 Zsh
chsh -s $(which zsh)

輸入使用者密碼進行確認,該設定將於下次建立終端機工作階段時生效。


3.部署 Oh My Zsh 框架
原生 Zsh 的設定檔(~/.zshrc)需手動配置繁瑣參數,但透過官方安裝腳本可快速建立預設結構

sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

安裝腳本執行時若提示是否將 Zsh 設為預設 Shell,輸入 y 並確認,安裝完成後,系統會自動生成預設設定檔並替換當前提示字元。


4.外掛配置
Oh My Zsh 預設僅載入基本 Git 外掛,為了提升命令列輸入效率,建議額外配置兩款實用套件:

  • zsh-autosuggestions:依據歷史輸入紀錄,於提示游標後方自動預測完整指令,支援快速採納。
  • zsh-syntax-highlighting:於輸入當下動態驗證指令正確性,正確指令標註綠色,錯誤或無效參數標註紅色。

步驟 1:下載外掛原始碼至自訂擴充目錄

# 下載自動建議擴充
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions

# 下載語法高亮擴充
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting

步驟 2:編輯設定檔載入外掛
使用文字編輯器開啟使用者家目錄下的 ~/.zshrc

nano ~/.zshrc

搜尋 plugins=(git) 行,並調整為清單形式

plugins=(
    git
    zsh-autosuggestions
    zsh-syntax-highlighting
)

zsh-syntax-highlighting 必須放置於外掛陣列的最後一項,以確保能正確捕捉並高亮其他外掛產生的字串。
編輯完成後按 Ctrl + O 存檔,按 Enter 確認,再按 Ctrl + X 離開編輯器。

步驟 3:套用新設定

source ~/.zshrc

若執行 source ~/.zshrc 後當前工作階段未及時變色或無預測文字,可直接執行以下指令,手動強制載入外掛的核心腳本:

> # 手動載入:語法高亮核心腳本
> source ~/.oh-my-zsh/custom/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
> # 手動載入:自動建議核心腳本
> source ~/.oh-my-zsh/custom/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh

5.功能驗證
設定生效後,可透過以下方式驗證外掛運作狀態:
(1)語法驗證:於提示列輸入不存在的指令字串,字體應即時顯示紅色,輸入有效指令(如 cd 或 ls),字體應轉換為綠色。
(2)自動建議:輸入先前執行過的指令前綴,系統將以灰色字體提示補全建議,按下方向鍵 End鍵即可直接採納整行指令。
https://ithelp.ithome.com.tw/upload/images/20260916/20183886dcDK8MJ8ih.png


|明日目標:明日將引進 Powerlevel10k 主題與 Nerd Font 字型配置,客製化資訊呈現架構,提升命令列資訊判讀效率。|


上一篇
Day 16|設定 SSH 金鑰免密碼登入與 「以非 GUI 啟動」效能最佳化
下一篇
Day 18|Powerlevel10k 主題與 Nerd Font 字型配置
系列文
大學生的VirtualBox虛擬機與Ubuntu實戰30天22
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言